1. Field of the Invention
The present invention is in the field of computing and pertains particularly to methods and apparatus for controlling data storage and access performance of a computing system.
2. Discussion of the State of the Art
In the field of computing, data storage and access remains one of the most important areas of new research. Data storage capacities for single data storage devices are now classed in the terabyte range instead of the gigabyte range.
In a typical computing system, random access memory (RAM) is provided for main memory of the system. Main memory is where a computing system stores application data, program data, and other important data frequently accessed by the central processing unit (CPU). A smaller amount of RAM is typically available to the CPU of a computer system and is used for data caching. CPU speeds have increased much more so than the speeds at which external data can be stored and accessed.
Mechanical storage disks such as magnetic or optical disks require a read/write head and are slower than more recently developed non-volatile flash-based storage devices. However, reading from and writing to solid state storage disks while faster than mechanical disks is still slower than operating RAM following its true random access characteristic.
While the storage capacity of individual data storage disks have dramatically increased, system developers have not increased cache capacities of computing systems to maintain acceptable or normal ratios of cache available to storage capacity available for a given computing system. The much smaller ratio of cache to available storage capacity may lend to a cache hit ratio or hit rate that is significantly lower when compared to systems with more cache in proportion with storage capacity. Main memory is relatively more expensive to add to a computing system than extra storage space so the tradeoff of more storage capacity but reduced caching capability persists for more robust computing systems.
What is needed then to solve such disparities methods for enabling control of the performance aspects of a data storage and access routine in a computing system relative to use of existing RAM space and dedicated storage space. Such methods will enable performance enhancement for computing system data storage and access speeds without requiring expensive additions of main memory to the system.